#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2024/4/3 18:13
# @Author : 闫峰
# @File    : rb_product_no_sale.py
from common.setting import ensure_path_sep
from utils.mysqlUtils.db_pool import Database

product_db = Database(ensure_path_sep("\\config\\shopeev2_config.yaml.bak"), "test_jdw_database")


class RbProductNoSale:

    @staticmethod
    def get_no_sale_sku_list(platform_type: int, country_shorthand) -> list:
        """
        获取指定平台类型和国家缩写下的无销售SKU列表

        参数:
        platform_type: int - 平台类型
        country_shorthand: str - 国家缩写（可为空）

        返回值:
        list - 无销售SKU的列表
        """
        if country_shorthand:
            # 当国家缩写存在时，构建并执行SQL查询获取无销售SKU列表
            get_nosales_sku_list = """
                SELECT sku FROM `test_zhcxkj_center_product`.rb_product_no_sale 
            WHERE platform_type = %s
            and country_shorthand = %s 
                """
            nosales_sku_list = product_db.fetch_all_tuple(get_nosales_sku_list, (platform_type, country_shorthand))
        else:
            # 当国家缩写不存在时，只根据平台类型查询无销售SKU列表
            get_nosales_sku_list = """
                SELECT sku FROM `test_zhcxkj_center_product`.rb_product_no_sale 
            WHERE platform_type = %s 
                """
            nosales_sku_list = product_db.fetch_all_tuple(get_nosales_sku_list, (platform_type,))

        # 将查询结果转换为只包含SKU的列表
        nosales_sku_list = list(map(lambda x: x[0], nosales_sku_list))

        return nosales_sku_list
